package platform;

import platform.cmdexecutor.PlatformCommandExecutor;
import platform.cmdexecutor.WindowsPlatformCommandExecutor;
import platform.hwinfofetcher.HardwareInfoFetcher;
import platform.hwinfofetcher.WindowsHardwareInfoFetcher;
import platform.upgrader.PlayerUpgrader;

public class WindowsPlatformObjectFactory extends PlatformObjectFactory{

	private static WindowsPlatformObjectFactory _instance;
	
	public static WindowsPlatformObjectFactory getInstance() {
		if(_instance==null) {
			_instance = new WindowsPlatformObjectFactory();
		}
		return _instance;
	}
	
	private WindowsPlatformObjectFactory() {}
	
	@Override
	public PlatformCommandExecutor getCommandExecutor() {
		return WindowsPlatformCommandExecutor.getInstance();
	}

	@Override
	public PlayerUpgrader getPlayerUpgrader() {
		// TODO Auto-generated method stub
		return null;
	}

	@Override
	public HardwareInfoFetcher getHardwareInfoFetcher() {
		return new WindowsHardwareInfoFetcher();
	}

}
